<html>
   <head>
      <link rel="stylesheet" type="text/css" href="style.css" />
   </head>
   <body onload="">
<h2 class="comptitle">Compound Module <i>KBRTestAppModules</i></h2>
<b>Package:</b> oversim.applications.kbrtestapp<br/><b>File: <a href="src-applications-kbrtestapp-KBRTestApp.ned.html">src/applications/kbrtestapp/KBRTestApp.ned</a></b><br/>
<p>Compound module for a simple test application using the KBR interface</p>
<p><b>Author:</b> Ingmar Baumgart, Bernhard Heep</p>
<img src="oversim.applications.kbrtestapp.KBRTestAppModules-type.png" ismap="yes" usemap="#type-diagram"/><map name="type-diagram">
<area shape="rect" href="oversim.applications.kbrtestapp.KBRTestApp.html" title="KBRTestApp" alt="KBRTestApp" coords="39,156,106,211">
</map>
<h3 class="subtitle">Usage diagram:</h3>
<p>The following diagram shows usage relationships between types.
Unresolved types are missing from the diagram.
Click <a href="full-ned-usage-diagram.html">here</a> to see the full picture.</p>
<img src="oversim.applications.kbrtestapp.KBRTestAppModules-usage.png" ismap="yes" usemap="#usage-diagram"/><map name="usage-diagram"><area shape="rect" id="node1" href="oversim.applications.kbrtestapp.KBRTestAppModules.html" title="Compound Module KBRTestAppModules" alt="" coords="43,6,189,34">
<area shape="rect" id="node2" href="ned.IdealChannel.html" title="Channel IdealChannel" alt="" coords="5,83,104,111">
<area shape="rect" id="node4" href="oversim.applications.kbrtestapp.KBRTestApp.html" title="Simple Module KBRTestApp" alt="" coords="128,83,227,111">
</map>
<h3 class="subtitle">Inheritance diagram:</h3>
<p>The following diagram shows inheritance relationships for this type.
Unresolved types are missing from the diagram.
Click <a href="full-ned-inheritance-diagram.html">here</a> to see the full picture.</p>
<img src="oversim.applications.kbrtestapp.KBRTestAppModules-inheritance.png" ismap="yes" usemap="#inheritance-diagram"/><map name="inheritance-diagram"><area shape="rect" id="node1" href="oversim.applications.kbrtestapp.KBRTestAppModules.html" title="Compound Module KBRTestAppModules" alt="" coords="5,83,152,111">
<area shape="rect" id="node2" href="oversim.common.ITier.html" title="Module Interface ITier" alt="" coords="43,6,115,34">
</map>
<h3 class="subtitle">Properties:</h3>
<table class="paramtable">
   <tr>
      <th>Name</th>
      <th>Value</th>
      <th>Description</th>
   </tr>
<tr>
   <td width="150">display</td>
   <td width="100"><i>i=block/segm</i></td>
   <td></td>
</tr>
</table>
<h3 class="subtitle">Gates:</h3>
<table class="paramtable">
   <tr>
      <th>Name</th>
      <th>Direction</th>
      <th>Size</th>
      <th>Description</th>
   </tr>
<tr class="local">
   <td width="150">udpIn</xsl:if></td>
   <td width="100"><i>input</i></td>
   <td width="50"></td>   <td>
<p>gate from the UDP layer</p>
</td>
</tr>
<tr class="local">
   <td width="150">from_lowerTier</xsl:if></td>
   <td width="100"><i>input</i></td>
   <td width="50"></td>   <td>
<p>gate from the lower tier</p>
</td>
</tr>
<tr class="local">
   <td width="150">from_upperTier</xsl:if></td>
   <td width="100"><i>input</i></td>
   <td width="50"></td>   <td>
<p>gate from the upper tier</p>
</td>
</tr>
<tr class="local">
   <td width="150">trace_in</xsl:if></td>
   <td width="100"><i>input</i></td>
   <td width="50"></td>   <td>
<p>gate for trace file commands</p>
</td>
</tr>
<tr class="local">
   <td width="150">tcpIn</xsl:if></td>
   <td width="100"><i>input</i></td>
   <td width="50"></td>   <td>
<p>gate from the TCP layer</p>
</td>
</tr>
<tr class="local">
   <td width="150">tcpOut</xsl:if></td>
   <td width="100"><i>output</i></td>
   <td width="50"></td>   <td>
<p>gate to the TCP layer</p>
</td>
</tr>
<tr class="local">
   <td width="150">udpOut</xsl:if></td>
   <td width="100"><i>output</i></td>
   <td width="50"></td>   <td>
<p>gate to the UDP layer</p>
</td>
</tr>
<tr class="local">
   <td width="150">to_lowerTier</xsl:if></td>
   <td width="100"><i>output</i></td>
   <td width="50"></td>   <td>
<p>gate to the lower tier</p>
</td>
</tr>
<tr class="local">
   <td width="150">to_upperTier</xsl:if></td>
   <td width="100"><i>output</i></td>
   <td width="50"></td>   <td>
<p>gate to the upper tier</p>
</td>
</tr>
</table>
<h3 class="subtitle">Unassigned submodule parameters:</h3>
<table class="paramtable">
   <tr>
      <th>Name</th>
      <th>Type</th>
      <th>Default value</th>
      <th>Description</th>
   </tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.rpcUdpTimeout</td>
   <td width="100">
      <i>double</i>
   </td>
   <td width="120"></td>
   <td>
<p>default timeout value for direct RPCs</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.rpcKeyTimeout</td>
   <td width="100">
      <i>double</i>
   </td>
   <td width="120"></td>
   <td>
<p>default timeout value for routed RPCs</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.optimizeTimeouts</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>calculate timeouts from measured RTTs
and network coordinates</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.rpcExponentialBackoff</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>if true, doubles the timeout for
every retransmission</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.debugOutput</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>enable debug output</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.testMsgInterval</td>
   <td width="100">
      <i>double</i>
   </td>
   <td width="120"></td>
   <td>
<p>interval for sending test messages</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.testMsgSize</td>
   <td width="100">
      <i>int</i>
   </td>
   <td width="120"></td>
   <td>
<p>payload size of the test message in bytes</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.msgHandleBufSize</td>
   <td width="100">
      <i>int</i>
   </td>
   <td width="120"></td>
   <td>
<p>how many MsgHandles to store in circular buffer</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.lookupNodeIds</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>lookup only existing nodeIDs</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.activeNetwInitPhase</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>is app active in network init phase?</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.kbrOneWayTest</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>enable sending of one way test messages</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.kbrRpcTest</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>enable sending of RPC test calls</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.kbrLookupTest</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>enable periodic test lookups</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.failureLatency</td>
   <td width="100">
      <i>double</i>
   </td>
   <td width="120"></td>
   <td>
<p>this latency is recorded for failed lookups and RPCs</p>
   </td>
</tr>
<tr>
   <td><a href="oversim.applications.kbrtestapp.KBRTestApp.html">kbrTestApp</a>.onlyLookupInoffensiveNodes</td>
   <td width="100">
      <i>bool</i>
   </td>
   <td width="120"></td>
   <td>
<p>if true only search for inoffensive nodes (use together with lookupNodeIds)</p>
   </td>
</tr>
</table>
<h3 class="subtitle">Source code:</h3>
<pre class="src"><span style="color: #808080; font-style: italic; ">//
// Compound module for a simple test application using the KBR interface
//
// </span><span style="color: #000080; ">@author</span><span style="color: #808080; font-style: italic; "> Ingmar Baumgart, Bernhard Heep
//
</span><span style="color: #800000; font-weight: bold; ">module</span><span style="color: #000000; "> </span><span style="color: #000000; ">KBRTestAppModules</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">like</span><span style="color: #000000; "> </span><span style="color: #000000; ">ITier</span><span style="color: #000000; ">
{
    </span><span style="color: #800000; font-weight: bold; ">parameters</span><span style="color: #000000; ">:
        </span><span style="color: #000000; font-weight: bold; ">@display</span><span style="color: #000000; ">(</span><span style="color: #008000; ">&quot;i=block/segm&quot;</span><span style="color: #000000; ">);
    </span><span style="color: #800000; font-weight: bold; ">gates</span><span style="color: #000000; ">:
        </span><span style="color: #000080; font-weight: bold; ">input</span><span style="color: #000000; "> </span><span style="color: #000000; ">udpIn</span><span style="color: #000000; ">;     </span><span style="color: #808080; font-style: italic; ">// gate from the UDP layer
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">input</span><span style="color: #000000; "> </span><span style="color: #000000; ">from_lowerTier</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate from the lower tier
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">input</span><span style="color: #000000; "> </span><span style="color: #000000; ">from_upperTier</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate from the upper tier
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">input</span><span style="color: #000000; "> </span><span style="color: #000000; ">trace_in</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate for trace file commands
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">input</span><span style="color: #000000; "> </span><span style="color: #000000; ">tcpIn</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate from the TCP layer
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">output</span><span style="color: #000000; "> </span><span style="color: #000000; ">tcpOut</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate to the TCP layer
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">output</span><span style="color: #000000; "> </span><span style="color: #000000; ">udpOut</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate to the UDP layer
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">output</span><span style="color: #000000; "> </span><span style="color: #000000; ">to_lowerTier</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate to the lower tier
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">output</span><span style="color: #000000; "> </span><span style="color: #000000; ">to_upperTier</span><span style="color: #000000; ">;    </span><span style="color: #808080; font-style: italic; ">// gate to the upper tier
</span><span style="color: #000000; ">
    </span><span style="color: #800000; font-weight: bold; ">submodules</span><span style="color: #000000; ">:
        </span><span style="color: #000000; ">kbrTestApp</span><span style="color: #000000; ">: </span><span style="color: #000000; ">KBRTestApp</span><span style="color: #000000; ">;
    </span><span style="color: #800000; font-weight: bold; ">connections</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">allowunconnected</span><span style="color: #000000; ">:
        </span><span style="color: #000000; ">from_lowerTier</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">--&gt;</span><span style="color: #000000; "> </span><span style="color: #000000; ">kbrTestApp</span><span style="color: #000000; ">.</span><span style="color: #000000; ">from_lowerTier</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">to_lowerTier</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">&lt;--</span><span style="color: #000000; "> </span><span style="color: #000000; ">kbrTestApp</span><span style="color: #000000; ">.</span><span style="color: #000000; ">to_lowerTier</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">udpIn</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">--&gt;</span><span style="color: #000000; "> </span><span style="color: #000000; ">kbrTestApp</span><span style="color: #000000; ">.</span><span style="color: #000000; ">udpIn</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">udpOut</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">&lt;--</span><span style="color: #000000; "> </span><span style="color: #000000; ">kbrTestApp</span><span style="color: #000000; ">.</span><span style="color: #000000; ">udpOut</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">trace_in</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">--&gt;</span><span style="color: #000000; "> </span><span style="color: #000000; ">kbrTestApp</span><span style="color: #000000; ">.</span><span style="color: #000000; ">trace_in</span><span style="color: #000000; ">;
}

</span></pre>
   <hr><p class="footer"><a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top"><img src="by-sa.png"></a> This documentation is released under the <a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top">Creative Commons license</a></p>
   </body>
</html>
